Міністерство освіти і науки України
Національний університет “Львівська політехніка”
Кафедра автоматизованих систем управління
ОБ’ЄКТНО-ОРІЄНТОВАНЕ ПРОГРАМУВАННЯ
КОНСПЕКТ ЛЕКЦІЙ
для студентів базового рівня за напрямками
“Видавничо-поліграфічна справа” (шифр – 6.09.27)
та “Комп’ютерні науки” (шифр – 6.08.04)
Львів – 2007
Об’єктно-орієнтоване програмування: Конспект лекцій для студентів базового рівня за напрямками “Видавничо-поліграфічна справа” (шифр – 6.09.27) та “Комп’ютерні науки” (шифр – 6.08.04) / Укл. Дронюк І.М., Цимбал Ю.В. – Львів: Національний університет “Львівська політехніка”, 2007. – 34 с.
Укладачі:
Дронюк Іванна Мирославівна, доц., к. ф.-м.н.,
Цимбал Юрій Вікторович, асист., к.т.н.
Відповідальний за випуск:
Шпак З.Я.
Рецензент:
Ткаченко Р.О., проф., д.т.н.
Методичні вказівки обговорено та схвалено на засіданні кафедри АСУ
Протокол № 8-06/07 від “02” березня 2007 р.
Завідувач кафедрою АСУ ____________________ Рашкевич Ю.М.
Тема 1. Історія виникнення об’єктно орієнтованого програмування (ООП).
Ключові поняття ООП.
Основні поняття
Парадигма програмування
Структурне програмування
Об’єктно-орієнтоване програмування
Об’єкт
Абстракція
Інкапсуляція
Ієрархія
Наслідування
Поліморфізм
Розвиток у галузі програмування безпосередньо залежить від задач, які пропонуються для вирішення з його допомогою. Складність задач у програмуванні неперервно зростає. Наприклад, при створенні першої версії 32-розрядної операційної системи Windows NT (1993 рік) було написано 6 млн. рядків програмного коду, а код Windows 2000 вже містить близько 29 млн. рядків. Для вирішення поставлених задач, програмісти вдосконалюють методологію програмування, тобто напрацьовують певні рекомендації, узагальнюють підходи та виробляють нові стилі програмування.
Загальноприйняті у певний період часу підходи та стилі програмування утворюють так звані парадигми програмування. Можна виділити наступну послідовність парадигм програмування:
Процедурне – Структурне – Модульне – Об’єктно-орієнтоване.
Поява нової парадигми сприяє розробці нових мов програмування та інструментальних засобів. Мови програмування Pascal та C створені за парадигмами структурного та модульного програмування. Структурні мови програмування передбачають просту схему побудови програм – як взаємодію даних та коду. Дані описують за допомогою змінних різних типів – цілочисельних, масивів, записів та ін. З даними працює код, який складається з процедур та функцій – різних для різних типів даних. При такому підході розробка великих проектів, де використовується багато різних структур даних є досить складною.
З розвитком програмування виникла ідея поєднати в межах однієї сутності дані і код, що безпосередньо опрацьовує ці дані. Така сутність отримала назву об’єкт, а відповідний підхід до створення програм називають об’єктно-орієнтованим програмуванням.
Об’єктно-орієнтоване програмування (ООП) – це парадигма програмування, яка розглядає програму як сукупність гнучко пов’язаних між собою об’єктів.
З погляду сприйняття людиною об’єктом може бути:
- відчутний і (або) видимий предмет;
- щось, що сприймається мисленням;
- щось, на що спрямовано думку або дію.
Кожен об’єкт має суттєві характеристики, які відрізняють його від усіх інших об’єктів. Сукупність таких характеристик називається абстракцією. Розрізняють абстракції стану та поведінки об’єкта.
Стан (дані об’єкта) характеризується переліком та значеннями певних ознак. Поведінка (код об’єкта) визначається набором операцій, які виконуються об’єктом, або над об’єктом.
Кожен об’єкт є екземпляром (представником) певного класу. Відповідно, клас – це певна множина об’єктів, що мають спільні характеристики стану та поведінки.
ООП – основна парадигма програмування, починаючи з 90-х рр. XX ст. Окрім розвитку методології програмування, передумовами його виникнення можна вважати:
Прогрес в області архітектури ЕОМ
Розвиток мов програмування Simula 67, Smalltalk
Розвиток теорії баз даних
Дослідження в галузі шту...